package com.yf.stat.modules.course.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yf.stat.modules.course.dto.StatCourseTotalDTO;
import com.yf.stat.modules.course.dto.request.StatCourseFileReqDTO;
import com.yf.stat.modules.course.dto.request.StatCourseLearnReqDTO;
import com.yf.stat.modules.course.dto.response.StatCourseDashDTO;
import com.yf.stat.modules.course.dto.response.StatCourseFileDTO;
import com.yf.stat.modules.course.dto.response.StatCourseLearnDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* <p>
* 考试总体统计Mapper
* </p>
*
* @author 聪明笨狗
* @since 2020-09-11 11:10
*/
@Mapper
public interface StatCourseMapper {


    /**
     * 查找课程学习总体统计
     * @param courseId
     * @param openType
     * @return
     */
    StatCourseTotalDTO findOverview(@Param("courseId") String courseId, @Param("openType") Integer openType);

    /**
     * 查找课件统计分页
     * @param page
     * @param reqDTO
     * @return
     */
    IPage<StatCourseFileDTO> fileStatPaging(Page page, @Param("query") StatCourseFileReqDTO reqDTO);

    /**
     * 查找课件统计分页
     * @param page
     * @param openType
     * @param reqDTO
     * @return
     */
    IPage<StatCourseLearnDTO> userStatPaging(Page page, @Param("openType") Integer openType, @Param("query") StatCourseLearnReqDTO reqDTO);


    /**
     * 正在进行的课程
     * @return
     */
    List<StatCourseDashDTO> dashCourseList();

}
